From 6e9ae8d1e8ed38bbc1d649be4a536d9c6b5ca179 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Sat, 10 Jun 2006 11:05:11 +0100 Subject: [PATCH] [LINUX] Remove the only use of evtchn_upcall_mask in common code. Replace with an assertion of irq_disabled(). Signed-off-by: Keir Fraser --- linux-2.6-xen-sparse/drivers/xen/core/evtchn.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c index be4f28b0b8..24abd80842 100644 --- a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c +++ b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c @@ -717,6 +717,8 @@ void unmask_evtchn(int port) unsigned int cpu = smp_processor_id(); vcpu_info_t *vcpu_info = &s->vcpu_info[cpu]; + BUG_ON(!irqs_disabled()); + /* Slow path (hypercall) if this is a non-local port. */ if (unlikely(cpu != cpu_from_evtchn(port))) { struct evtchn_unmask unmask = { .port = port }; @@ -733,11 +735,8 @@ void unmask_evtchn(int port) */ if (synch_test_bit(port, &s->evtchn_pending[0]) && !synch_test_and_set_bit(port / BITS_PER_LONG, - &vcpu_info->evtchn_pending_sel)) { + &vcpu_info->evtchn_pending_sel)) vcpu_info->evtchn_upcall_pending = 1; - if (!vcpu_info->evtchn_upcall_mask) - force_evtchn_callback(); - } } EXPORT_SYMBOL_GPL(unmask_evtchn); -- 2.30.2